1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to securely sharing content, and, more particularly, to securely sharing content without allowing the unauthorized external parties to receive the content.
2. Description of the Related Art
Various electronic devices, such as a mobile communication terminal, a portable computer, a PDA, and so forth, require accesses to security-related elements, such as an application program, an encryption key, encryption key data, a result of an intermediate encryption calculation, a password, authentication of external downloaded data, and so forth. Generally, such elements and the processing thereof should be secretly managed in the electronic devices. Ideally, these elements should be known by a minimum number of people.
Accordingly, a secure execution environment is introduced, and in this environment, a processor in the electronic device can access the security-related elements.
Application program providers encrypt programs in order to generate tamper resistant software. Only when an application program code is executed in a secure environment can the code be decrypted to be managed as ordinary text.
“Architectural Support for Copy and Tamper Resistant Software”, David Lie et al., published during the 7th International Conference on Architectural Support for Programming Language and Operating System, held in November 2000, discloses a system called XOM (eXecute Only Memory). Each XOM processor includes a pair of public/secret keys. The secret key is preserved in hardware, is known by the processor, but is not known by the owner of the processor or anyone else. XOM software is encrypted by a pair of public/secret keys when it is purchased. Just before the execution of the software, an executable code is decrypted by the processor, and an ordinary text code never remains in the processor chip. In a structure of this type, general data is encrypted, and a common shared key is used to share the encrypted data among different application programs. In this case, it may be possible for the decrypted data to be known by external parties.
For example, in the case where a user intends to print or display data through an access to a computer for common use, the computer may be infected with virus, and this may cause the data to be known by external parties.
In contrast, in the case where an anonymous user intends to modify his/her data by using a public edit program on the Internet, the program may include a virus or may be malicious software, and this may allow external parties to access the data.